進捗状況の出力

一部のファイルでは、CLI コマンドの処理にかなりの時間を要する場合があります。基礎となるコンポーネントがCLIにフィードバックを提供する場合、進捗状況は次のように出力されます。出力は、Progress(<label>)で始まります。<label>はフィードバックを提供するコンポーネント/サブシステムを示し、3%進むごとに1つのドット「. 」が表示されます。最大35のドットが出力され、終了すると最後に「done」と表示されます。例を示します。

/home/frodo/cgicc_diff_clean/src/diff/version.c:qac:0:1:1
/home/frodo/cgicc_diff_clean/src/diff/util.c:qac:0:2:0
/home/frodo/cgicc_diff_clean/src/cgicc/CgiEnvironment.cpp:qacpp:0:1:2
/home/frodo/cgicc_diff_clean/src/cgicc/CgiUtils.cppgit push:qacpp:0:2:1
/home/frodo/cgicc_diff_clean/src/cgicc/Cgi.cpp:qacpp:0:3:0 
Progress(CMA): ................................... done

各出力行はコロンで区切られ、次の形式を使用しています。

<pathname>:<component>:<return code>:<# files analyzed>:<# files yet to be analyzed>

ただし、

  • pathnameは、解析されたファイルの絶対パス名です。
  • componentは、コンポーネントの略称(例えば、qac)です。
  • return codeは、コンポーネントによる解析から返されたコードです。ゼロ以外の値は、エラーを示します。
  • # files analyzedは、CLI コマンドによりこれまでに解析されたファイルの合計数(増加していく)です。
  • # files yet to be analyzedは、CLI コマンドによりこれから解析されるファイルの合計数(減少していく)です。この数はゼロまでカウントダウンしていきます。

進捗状況のフィードバックを生成する、プロジェクト全体の解析コンポーネント(RCMA、データフローなど)すべてが進捗状況の通知のメッセージを出力するようになりました。これらの中間解析、中間メッセージはリターンコードを含みません。例:

/home/frodo/single_project_rcma:rcma::1:125 
/home/frodo/single_project_rcma:rcma::56:70 
/home/frodo/single_project_rcma:rcma::100:26

しかし、解析が終了すると、通常どおり下の例のようなリターンコードが表示されます。

/home/frodo/single_project_rcma:rcma:0:126:0